﻿namespace UsageTracker.Logger.DataObjects
{
    using System;

    /// <summary>
    /// Data Object container for holding usage data and downstream preparation of JSON string after serialization.
    /// </summary>
    [Serializable]
    public class UsageData
    {
        public string ProductName { get; set; }

        public string ProdExecutable { get; set; }

        public string Module { get; set; }

        public string ModVersion { get; set; }

        public object[] MethodArgs { get; set; }

        public string Method { get; set; }

        public string MachineName { get; set; }

        public string PublicIp { get; set; }

        public string InstalledRam { get; set; }

        public string LogDateUtc { get; set; }

        public string[] CustomData { get; set; }

        public string MachineOs { get; set; }

        public bool? HasOsShutdownStarted { get; set; }

        public bool? Is64BitOs { get; set; }

        public long? WorkingSet { get; set; }

        public string UserName { get; set; }

        public string LogonDc { get; set; }

        public string[] LogicalDrives { get; set; }

        public string[] NiCs { get; set; }

        public bool? Is64BitProcess { get; set; }

        public int? ProcCount { get; set; }

        public int? ProcessId { get; set; }

        public int? TcpConnCount { get; set; }

        public string[] MachineIPs { get; set; }
    }
}



